package ln.javatest.day17.demo03;
//类的构造器（构造方法）
public class Demo {
    //定义一个方法，参数传递姓名和PersonBuilder接口，方法中通过姓名创建Person 对象
    public static void printName(String name,PersonBuilder pb){
        Person person = pb.builderPerson(name);
        System.out.println(person.getName());
    }

    public static void main(String[] args) {
        //调用printName方法，方法的参数PersonBuilder接口是一个函数式接口，可以出阿迪Lambda
        printName("王嘉尔",(String name)->new Person(name));
        /*
        使用方法引用优化Lambda表达式
        构造方法new Person(String name) 已知
        创建对象已知 new
        就可以使用Person引用new创建对象
        */
        //使用Person类的带参构造方法通过传递的姓名创建对象
        printName("王嘉尔",Person::new);
    }
}
